AsyncStorage হল React Native অ্যাপ্লিকেশনে ডেটা সংরক্ষণ করার জন্য একটি সিঙ্গেল-ভ্যালু স্টোরেজ সিস্টেম। এটি মূলত অ্যাসিঙ্ক্রোনাস (asynchronous) এবং সিঙ্ক্রোনাস (synchronous) পদ্ধতিতে ছোট ডেটা যেমন ব্যবহারকারী সেটিংস, লগইন টোকেন, থিম সেটিংস, বা ছোট কনফিগারেশন ডেটা সংরক্ষণ করতে ব্যবহৃত হয়।
AsyncStorage React Native অ্যাপ্লিকেশনের জন্য একটি স্থানীয় স্টোরেজ ব্যবস্থা, যা অ্যাপ্লিকেশন বন্ধ বা ডিভাইস পুনরায় চালু হওয়ার পরও ডেটা সংরক্ষণ করতে সাহায্য করে। এর মাধ্যমে, আপনি মোবাইল ডিভাইসে স্ট্রিং, অবজেক্ট, এবং অ্যারে ইত্যাদি ধরনের ডেটা সংরক্ষণ এবং পুনরুদ্ধার করতে পারেন।
AsyncStorage কেন ব্যবহার করা হয়?
1. ছোট আকারের ডেটা সংরক্ষণের জন্য
AsyncStorage ছোট আকারের ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। আপনি যদি ব্যবহারকারী লগইন টোকেন, ভাষা পছন্দ, অথবা থিম সেটিংস সংরক্ষণ করতে চান, তবে AsyncStorage একটি ভালো সমাধান।
উদাহরণ:
- ইউজার অথেনটিকেশন টোকেন
- ইউজারের প্রিফারেন্স বা সেটিংস
- প্রোগ্রেস বা অবস্থার ট্র্যাকিং (যেমন গেমের প্রগ্রেস বা চলমান কাজ)
2. ডেটা স্থায়ীভাবে সংরক্ষণ
AsyncStorage আপনাকে ডেটা মোবাইল ডিভাইসে স্থায়ীভাবে সংরক্ষণ করতে সাহায্য করে, যার মানে হলো অ্যাপ্লিকেশনটি বন্ধ বা ডিভাইস পুনরায় চালু হলেও ডেটা অক্ষত থাকে।
3. সহজ এবং দ্রুত
AsyncStorage একটি সহজ API প্রদান করে এবং ডেটা সংরক্ষণ এবং পুনরুদ্ধারের জন্য খুব দ্রুত কাজ করে। এটি সিঙ্ক্রোনাস ও অ্যাসিঙ্ক্রোনাস অপশনের মাধ্যমে সহজেই ব্যবহৃত হতে পারে।
4. নেটওয়ার্ক কানেকশন না থাকলে ডেটা সংরক্ষণ
যখন নেটওয়ার্ক কানেকশন অনুপস্থিত থাকে, তখন আপনি AsyncStorage ব্যবহার করে ডেটা সংরক্ষণ করতে পারেন এবং পরে পুনরুদ্ধার করতে পারেন, যখন ইন্টারনেট কানেকশন উপলব্ধ হবে।
5. ডেভেলপমেন্টের জন্য অস্থায়ী ডেটা সংরক্ষণ
আপনি যখন ডেভেলপমেন্ট পর্যায়ে আছেন, তখন ছোট আকারের ডেটা সংরক্ষণ এবং পরীক্ষার জন্য AsyncStorage ব্যবহার করতে পারেন। এটি ডেটা দ্রুত পরীক্ষা করার জন্য খুবই কার্যকর।
AsyncStorage এর সীমাবদ্ধতা
- বড় ডেটা সংরক্ষণে সমস্যা
AsyncStorage খুব বড় পরিমাণের ডেটা সংরক্ষণ করতে ব্যবহৃত হতে পারে না। এটি সাধারণত অল্প পরিমাণে ডেটা সংরক্ষণে ভালো কাজ করে, যেমন কনফিগারেশন সেটিংস বা ছোট ডেটা। - সিকিউরিটি
AsyncStorage এর মাধ্যমে সংরক্ষিত ডেটা এনক্রিপ্টেড নয়। এর মানে হল যে, পাসওয়ার্ড, ক্রেডেনশিয়ালস বা ব্যাংকিং ডেটা এর মতো সংবেদনশীল ডেটা AsyncStorage এ সংরক্ষণ করা উচিত নয়। এজন্য এই ধরনের ডেটার জন্য অন্যান্য নিরাপদ স্টোরেজ ব্যবস্থাপনা যেমন Secure Storage ব্যবহার করা উচিত। - একক ডিভাইসের জন্য
AsyncStorage শুধুমাত্র এক ডিভাইসে ডেটা সংরক্ষণ করে। এটি ক্লাউড ডেটাবেস বা ব্যাকএন্ড সার্ভিস হিসেবে ব্যবহৃত হতে পারে না।
AsyncStorage ব্যবহার করার জন্য ইনস্টলেশন এবং উদাহরণ
ইনস্টলেশন:
React Native 0.59 এর পর থেকে, AsyncStorage আর React Native Core এর অংশ নয়। এটি আলাদাভাবে ইনস্টল করতে হয়:
npm install @react-native-async-storage/async-storageএরপর আপনাকে Native Modules লিঙ্ক করতে হবে:
npx react-native link @react-native-async-storage/async-storageAsyncStorage এর উদাহরণ
ডেটা সংরক্ষণ করা:
import AsyncStorage from '@react-native-async-storage/async-storage';
// একটি স্ট্রিং সংরক্ষণ করা
AsyncStorage.setItem('userToken', 'abc123')
.then(() => console.log('Token saved'))
.catch((error) => console.log(error));ডেটা পুনরুদ্ধার করা:
import AsyncStorage from '@react-native-async-storage/async-storage';
// একটি স্ট্রিং পুনরুদ্ধার করা
AsyncStorage.getItem('userToken')
.then((value) => console.log('Token retrieved: ', value))
.catch((error) => console.log(error));ডেটা মুছে ফেলা:
import AsyncStorage from '@react-native-async-storage/async-storage';
// ডেটা মুছে ফেলা
AsyncStorage.removeItem('userToken')
.then(() => console.log('Token removed'))
.catch((error) => console.log(error));সারাংশ
AsyncStorage React Native অ্যাপ্লিকেশন ডেভেলপমেন্টে ব্যবহারকারী ডেটা, প্রেফারেন্স এবং সেটিংস সংরক্ষণ করার জন্য একটি সহজ এবং কার্যকরী সমাধান। এটি অ্যাপ্লিকেশন বন্ধ বা ডিভাইস পুনরায় চালু হলেও ডেটা সংরক্ষণে সাহায্য করে, তবে এটি ছোট আকারের ডেটার জন্য উপযুক্ত। তবে নিরাপদ ডেটা সংরক্ষণের জন্য অন্য পদ্ধতিও ব্যবহার করা উচিত।
Read more